package com.daiqee.pojo;

import java.io.Serializable;

import java.util.Date;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldStrategy;
import com.baomidou.mybatisplus.enums.IdType;
import com.daiqee.annotations.DateField;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 货物清单
 * 
 * <br/>
 * @since JDK 1.8
 * @version  V2.1
 * @author RichardTang 
 * @date: 2018年5月7日 下午5:44:52
 * @package com.daiqee.pojo
 * @copyright:Copyright (c) 2018, 1245811923@qq.com All Rights Reserved.
 */
@TableName("goods_list")
public class GoodsList extends LogicDeleteFlag implements Cloneable,Serializable{
	
	private static final long serialVersionUID = -6424370005700328408L;

	@TableId(type=IdType.AUTO)
    private Integer goodsListProductId;

	@TableField(strategy=FieldStrategy.NOT_EMPTY)
    private String  goodsListProductName;		//货物名称

    private Integer goodsListProductAmount;		//货物数量

    @TableField(strategy=FieldStrategy.NOT_EMPTY)
    private Integer  goodsListProductClass;		//货物分类
    
    @TableField(strategy=FieldStrategy.NOT_EMPTY)
    private String  goodsListProductUnit;		//货物单位

    private Integer goodsListInStockId;			//入库id

    private String  goodsListOutStockOrderNumber; //出库单号

    private Integer goodsListUpLimit;			//状态上限
    
    private Integer goodsListLowLimit;			//状态下限
    
    private String  goodsListInFlag;			//入库单是否存在
   
    private String  goodsListOutFlag;		    //出库单是否存在

    private String  goodsListStorageId;			//货架id

    private String  goodsListOperatLog;			//货物操作日志
    
    @DateField
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date goodsListInStockTime;			//入库时间
    
    private String goodsListInStockStatus;		//入库状态
    
    private Integer goodsListOutStockCount;    //出库数量
    
    private Integer goodsListOutStockBackId;   //拆分时候原来货物的id
    
    @TableField(exist=false)
    private Integer tempOutStockCount;		   //用来临时记录出库数
    
    @TableField(exist=false)
    private Boolean checked;				   //判断该数据是否选中
    
    @Override  
    public GoodsList clone() {  
        GoodsList goods = null;  
        try{  
        	goods = (GoodsList)super.clone();  
        }catch(CloneNotSupportedException e) {  
            e.printStackTrace();  
        }  
        return goods;  
    }  
    
	public Integer getGoodsListUpLimit() {
		return goodsListUpLimit;
	}

	public void setGoodsListUpLimit(Integer goodsListUpLimit) {
		this.goodsListUpLimit = goodsListUpLimit;
	}

	public Integer getGoodsListLowLimit() {
		return goodsListLowLimit;
	}

	public void setGoodsListLowLimit(Integer goodsListLowLimit) {
		this.goodsListLowLimit = goodsListLowLimit;
	}

	public Boolean getChecked() {
		return checked;
	}

	public void setChecked(Boolean checked) {
		this.checked = checked;
	}

	public Integer getTempOutStockCount() {
		return tempOutStockCount;
	}

	public void setTempOutStockCount(Integer tempOutStockCount) {
		this.tempOutStockCount = tempOutStockCount;
	}

	public Integer getGoodsListOutStockBackId() {
		return goodsListOutStockBackId;
	}
	
	public Integer getGoodsListProductClass() {
		return goodsListProductClass;
	}

	public void setGoodsListProductClass(Integer goodsListProductClass) {
		this.goodsListProductClass = goodsListProductClass;
	}

	public void setGoodsListOutStockBackId(Integer goodsListOutStockBackId) {
		this.goodsListOutStockBackId = goodsListOutStockBackId;
	}

	public Integer getGoodsListOutStockCount() {
		return goodsListOutStockCount;
	}

	public void setGoodsListOutStockCount(Integer goodsListOutStockCount) {
		this.goodsListOutStockCount = goodsListOutStockCount;
	}

	public String getGoodsListInStockStatus() {
		return goodsListInStockStatus;
	}

	public void setGoodsListInStockStatus(String goodsListInStockStatus) {
		this.goodsListInStockStatus = goodsListInStockStatus;
	}

	public String getGoodsListOperatLog() {
		return goodsListOperatLog;
	}

	public void setGoodsListOperatLog(String goodsListOperatLog) {
		this.goodsListOperatLog = goodsListOperatLog == null ? null : goodsListOperatLog.trim();;
	}

	public Integer getGoodsListProductId() {
        return goodsListProductId;
    }

    public void setGoodsListProductId(Integer goodsListProductId) {
        this.goodsListProductId = goodsListProductId;
    }

    public String getGoodsListProductName() {
        return goodsListProductName;
    }

    public void setGoodsListProductName(String goodsListProductName) {
        this.goodsListProductName = goodsListProductName == null ? null : goodsListProductName.trim();
    }

    public Integer getGoodsListProductAmount() {
        return goodsListProductAmount;
    }

    public void setGoodsListProductAmount(Integer goodsListProductAmount) {
        this.goodsListProductAmount = goodsListProductAmount;
    }

    public String getGoodsListProductUnit() {
        return goodsListProductUnit;
    }

    public void setGoodsListProductUnit(String goodsListProductUnit) {
        this.goodsListProductUnit = goodsListProductUnit == null ? null : goodsListProductUnit.trim();
    }

    public Integer getGoodsListInStockId() {
        return goodsListInStockId;
    }

    public void setGoodsListInStockId(Integer goodsListInStockId) {
        this.goodsListInStockId = goodsListInStockId;
    }

    public String getGoodsListOutStockOrderNumber() {
        return goodsListOutStockOrderNumber;
    }

    public void setGoodsListOutStockOrderNumber(String goodsListOutStockOrderNumber) {
        this.goodsListOutStockOrderNumber = goodsListOutStockOrderNumber;
    }

    public String getGoodsListInFlag() {
        return goodsListInFlag;
    }

    public void setGoodsListInFlag(String goodsListInFlag) {
        this.goodsListInFlag = goodsListInFlag == null ? null : goodsListInFlag.trim();
    }
    
    public String getGoodsListOutFlag() {
        return goodsListOutFlag;
    }

    public void setGoodsListOutFlag(String goodsListOutFlag) {
        this.goodsListOutFlag = goodsListOutFlag == null ? null : goodsListOutFlag.trim();
    }

    public String getGoodsListStorageId() {
        return goodsListStorageId;
    }

    public void setGoodsListStorageId(String goodsListStorageId) {
        this.goodsListStorageId = goodsListStorageId;
    }

    public Date getGoodsListInStockTime() {
        return goodsListInStockTime;
    }

    public void setGoodsListInStockTime(Date goodsListInStockTime) {
        this.goodsListInStockTime = goodsListInStockTime;
    }
}